package ohc.login

import net.fabricmc.api.ModInitializer
import org.slf4j.Logger
import org.slf4j.LoggerFactory

object Ohc_login : ModInitializer {
    val logger: Logger = LoggerFactory.getLogger("ohc_login")

	override fun onInitialize() {
		logger.info("OHC Login 插件正在初始化...")
		
		// 加载配置文件
		Config.load()
		logger.info("配置文件已加载")
		
		// 加载玩家数据
		PlayerDataManager.load()
		logger.info("玩家数据已加载")
		
		// 注册事件处理器
		EventHandlers.register()
		
		logger.info("OHC Login 插件初始化完成！")
		logger.info("API 地址: ${Config.apiBaseUrl}")
		logger.info("登录超时: ${Config.loginTimeout} 秒")
		
		// 异步检查更新
		UpdateChecker.checkUpdateAsync().thenAccept { info ->
			if (info.hasUpdate) {
				logger.warn("========================================")
				logger.warn("发现新版本: ${info.latestVersion} (当前: ${info.currentVersion})")
				logger.warn("下载地址: ${info.downloadUrl}")
				info.changelog?.let { logger.info("更新说明: $it") }
				logger.warn("========================================")
			} else if (info.error != null) {
				logger.debug("更新检查失败: ${info.error}")
			} else {
				logger.info("当前已是最新版本: ${info.currentVersion}")
			}
		}
	}
}